home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-08-16 | 6.9 KB | 208 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: DrawFrm.h
- // Release Version: $ ODF 1 $
- //
- // Author: Henri Lamiraux
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef DRAWFRM_H
- #define DRAWFRM_H
-
- // ----- Part Layer -----
-
- #ifndef FWFRMING_H
- #include "FWFrming.h"
- #endif
-
- #ifndef FWDRGDRP_H
- #include "FWDrgDrp.h"
- #endif
-
- //========================================================================================
- // Forward Declaration
- //========================================================================================
-
- class FW_CPresentation;
- class FW_CGrowBox;
- class CDrawPart;
- class CDrawSelection;
- class CRuler;
-
- //========================================================================================
- // CDrawFrame
- //========================================================================================
-
- class CDrawFrame : public FW_CEmbeddingFrame, public FW_MDraggableFrame, public FW_MDroppableFrame
- {
- public:
- FW_DECLARE_CLASS
- FW_DECLARE_AUTO(CDrawFrame)
-
- //----------------------------------------------------------------------------------------
- // Initialization/destruction
- //
- public:
- CDrawFrame(Environment *ev,
- ODFrame* odFrame,
- FW_CPresentation* presentation,
- CDrawPart* drawPart,
- FW_ResourceId id = 0);
- virtual ~ CDrawFrame();
-
- //----------------------------------------------------------------------------------------
- // Inherited API
- //
- public:
-
- // ----- Menu
- virtual FW_Boolean DoAdjustMenus(Environment *ev, FW_CMenuBar* menuBar, FW_Boolean hasMenuFocus, FW_Boolean isRoot);
- virtual FW_Boolean DoMenu(Environment* ev, const FW_CMenuEvent& theMenuEvent);
-
- // ----- Drag and Drop
- virtual ODDragResult CanAcceptDrop(Environment *ev, ODDragItemIterator* dragInfo);
-
- // ----- Events -----
- virtual void DoActivateEvent(Environment* ev, const FW_CActivateEvent& theActivateEvent);
-
- // ----- Embedded Mouse Events -----
- virtual FW_Boolean DoMouseDownInEmbeddedFrameBorder(Environment *ev,
- const FW_CBorderMouseEvent& theBorderMouseEvent);
- virtual FW_Boolean DoMouseDownInEmbeddedFrame(Environment* ev,
- const FW_CEmbeddedMouseEvent& theEmbeddedMouseEvent);
-
- // ----- Embedding -----
- virtual ODFacet* CreateEmbeddedFacet(Environment* ev,
- ODFacet* embeddingFacet,
- FW_MProxy* proxy,
- ODFrame* embeddedFrame,
- ODShape* proposedClipShape);
-
- virtual FW_MProxy* EmbeddedFrameRequested(Environment *ev,
- FW_MProxy* baseProxy,
- ODFrame* baseFrame,
- ODShape* frameShape,
- ODPart* embedPart,
- ODTypeToken viewType,
- ODTypeToken presentation,
- ODID frameGroupID,
- FW_Boolean isOverlaid,
- FW_Boolean isSubFrame);
-
- // ----- Frame activation -----
- virtual void FocusStateChanged(Environment *ev,
- ODTypeToken focus,
- FW_Boolean newState,
- ODFrame* newOwner);
-
- // ----- Geometry -----
- virtual void GeometryChanged(Environment *ev,
- ODFacet* odFacet,
- FW_Boolean clipShapeChanged,
- FW_Boolean externalTransformChanged);
-
- // ----- Window Size ------
- virtual void AdjustZoomedWindowSize(Environment* ev, FW_CPoint& proposedSize);
- virtual void AdjustWindowGrowLimits(Environment* ev, FW_CPoint& minSize, FW_CPoint& maxSize);
-
- // ----- Commands Factory -----
- virtual FW_CClipboardCommand* NewClipboardCommand(Environment* ev, ODCommandID commandID);
- virtual FW_CInsertCommand* NewInsertCommand(Environment* ev, const FW_PFileSpecification& fileSpec);
- virtual FW_CDragCommand* NewDragCommand(Environment *ev,
- FW_CFrame* theFrame,
- const FW_CMouseEvent& theMouseEvent);
- virtual FW_CDropCommand* NewDropCommand(Environment *ev, FW_CFrame* frame,
- ODDragItemIterator* dropInfo,
- ODFacet* facet, const FW_CPoint& windowPoint);
-
- // ----- Printing ------
- virtual FW_CPrintHandler* NewPrintHandler(Environment* ev);
-
- // ----- Drawing ------
- virtual void Draw(Environment *ev, ODFacet* odFacet, ODShape* invalidShape);
-
- // ----- Miscellaneous -----
- virtual void FacetAdded(Environment* ev, ODFacet* facet, unsigned short facetCount);
-
- virtual FW_Boolean RevealFrame(Environment *ev,
- ODFrame* embeddedFrame,
- ODShape* revealShape);
-
- // ----- Internalize/Externalize -----
- virtual void ExternalizeFrame(Environment* ev, ODStorageUnitView* storageUnitView);
- virtual void InternalizeFrame(Environment* ev, ODStorageUnitView* storageUnitView);
-
- // ----- Creation of Views from Streams
- virtual void PostCreateViewFromStream(Environment* ev);
- // virtual void CreateSubViews(Environment* ev);
-
- //----------------------------------------------------------------------------------------
- // New API
- //
- public:
- CDrawSelection* GetSelection(Environment *ev) const;
- FW_Fixed GetZoomFactor(Environment *ev) const;
- void ToggleRulers(Environment *ev, FW_Boolean visible, FW_Boolean refresh);
-
- FW_Boolean IsGraphicsGridOn() const;
- FW_Boolean AreRulersOn() const;
-
- FW_Boolean IsInLinkDestination(Environment* ev);
-
- void ChangeZoomFactor(Environment* ev, FW_Fixed zoomFactor);
-
- FW_CRect GetContentRect(Environment* ev) const;
- void AdjustContentViewSize(Environment* ev, FW_Boolean refresh);
-
- //----------------------------------------------------------------------------------------
- // Data Members
- //
- private:
- CDrawPart* fDrawPart;
- CDrawSelection* fSelection;
-
- CRuler* fHorzRuler;
- CRuler* fVertRuler;
-
- FW_Boolean fGridShown;
- FW_Boolean fRulersShown;
- FW_Fixed fZoomFactor;
- };
-
- //----------------------------------------------------------------------------------------
- // CDrawFrame::GetZoomFactor
- //----------------------------------------------------------------------------------------
- inline FW_Fixed CDrawFrame::GetZoomFactor(Environment *ev) const
- {
- return fZoomFactor;
- }
-
- //----------------------------------------------------------------------------------------
- // CDrawFrame::GetSelection
- //----------------------------------------------------------------------------------------
- inline CDrawSelection* CDrawFrame::GetSelection(Environment *ev) const
- {
- return fSelection;
- }
-
- //----------------------------------------------------------------------------------------
- // CDrawFrame::IsGraphicsGridOn
- //----------------------------------------------------------------------------------------
- inline FW_Boolean CDrawFrame::IsGraphicsGridOn() const
- {
- return fGridShown;
- }
-
- //----------------------------------------------------------------------------------------
- // CDrawFrame::AreRulersOn
- //----------------------------------------------------------------------------------------
- inline FW_Boolean CDrawFrame::AreRulersOn() const
- {
- return fRulersShown;
- }
-
- #endif
-